public class test1 {
    //如果一个正整数转化成二进制与转换成八进制后所有数位的数字之和相等，则称为数位和相等的数。
    //前几个数位和相等的正整数为 1, 8, 9, 64, ……
    //请问第 23 个数位和相等的正整数是多少？
    public static void main(String[] args) {
//        System.out.println(sum_change(2, 64));
//        System.out.println(sum_change(8, 64));
        int count = 23;
        int i = 1; //这里千万不要忘了从1开始
        for(;i>=0;i++){
            if(sum_change(2,i)==sum_change(8,i)){
                count--;
                if(count==0){
                    break;
                }

            }
        }


        System.out.println(count);
        System.out.println(i);

    }

    public static int sum_change(int i, int num) {
        int sum = 0;
        while (num != 0) {
            int tmp = num % i;
            sum += tmp;
            num /= i;
        }
        return sum;
    }
}
